//同以目录下的文件更名：
const fs = require("fs");
const path = require("path");
const os = require("os");
const { addAbortSignal } = require("stream");
const { start } = require("repl");
// 包含当前文件夹所有内容的数组
let allFiles = fs.readdirSync(__dirname);
// 更名操作
function my_rename(oldName, newName) {
    fs.rename(oldName, newName, function (err) {
        if (err) {
            throw err;
        }
        // console.log("rename is done!");
    });
}
// 验证结尾后缀是否为真。str文件的名字。appoint文件后缀的名字
function my_validationEnd(str, appoint) {
    // 不区分大小写全部转换成小写。
    str = str.toLowerCase();
    let tempArr = str.split(".");
    let endStr = tempArr[tempArr.length - 1];
    if (appoint === endStr) {
        return true;
    }
    return false;
}
// 过滤数组的方法，返回我想要的文件类型的数组。第一个参数文件数组。第二个参数后缀名，字符串。
function type_arr(arr, typeStr) {
    let newArr = [];
    for (let i in arr) {
        if (my_validationEnd(arr[i], typeStr)) {
            newArr.push(arr[i]);
        }
    }
    return newArr;
}
// 验证是否是数字 只能判断一位数
function isNum(num) {
    let pattern = /^[0-9]$/
    /* let str='123'
    let str4='1'
    let str3='9'
    let str2='12a'
    console.log(pattern.test(str));
    console.log(pattern.test(str2));
    console.log(pattern.test(str3));
    console.log(pattern.test(str4)); */
    return pattern.test(num)
}
// 判断是否是小写 一位
function isLow(str) {
    let pattern = /^[a-z]$/
    /* let str='123'
    let str4='1'
    let str3='9'
    let str2='12a'
    console.log(pattern.test(str));
    console.log(pattern.test(str2));
    console.log(pattern.test(str3));
    console.log(pattern.test(str4)); */
    return pattern.test(str)
}

// 把mySister.12.23.23改名为12.23.23.mySister
function my_rename_oumei(fileType = 'txt') {
    // 所有该格式文件的数组 只剩下mkv视频的文件数组
    let typeArray = type_arr(allFiles, fileType);
    typeArray.forEach((item) => {
        // console.log('item',item);
        // item是每一个mp4的名字
        // 1By-Day.com_16.05.09.Stella.Cox.Intimate.Interview.Stella.Cox.Stiffens.Our.Cocks.XXX.IMAGES
        for (let i in item) {
            // console.log(item[i]);
            if ((isNum(item[i])) && (isNum(item[parseInt(i) + 1])) && (item[parseInt(i) + 2] === '.')) {
                // if ((isNum(item[i])) && (isNum(item[i + 1]))) {
                // if ((isNum(item[i]))) {
                // 找到了从左往右第一个数字
                if (isNum(item[parseInt(i) + 7]) || isNum(item[parseInt(i) + 8]) || isNum(item[parseInt(i) + 9])) {
                    let temp = ''
                    for (var j = 0; j < 8; j++) {
                        temp += item[parseInt(i) + j]
                    }
                    temp += '.1080Ph265shana.'
                    // console.log('temp',temp);
                    my_rename(item, temp + item)
                    console.log('oumei重命名完成！');
                    break
                }

            }
        }
    })
}
my_rename_oumei('mkv')
